package com.cscec5b.inspection.controller;

import com.cscec5b.inspection.repository.TaskTypeItemRepository;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/api") // 注意这里是 /api，所以下面是 /api/record-template
public class RecordTemplateController {  // 表单填充时套话匹配

    private final TaskTypeItemRepository repo;

    public RecordTemplateController(TaskTypeItemRepository repo) {
        this.repo = repo;
    }

    /**
     * GET /api/record-template?taskType=xx&itemKey=yy
     * 200: 返回模板字符串；204: 未配置模板（前端走回退）
     */
//    @GetMapping("/record-template")
//    public ResponseEntity<String> getTemplate(@RequestParam String taskType,
//                                              @RequestParam String itemKey) {
//        return repo.findFirstByTaskTypeAndItemEn(taskType, itemKey)
//                .map(tt -> tt.getRecordTemplate() == null ? "" : tt.getRecordTemplate().trim())
//                .filter(s -> !s.isEmpty())
//                .map(ResponseEntity::ok)
//                .orElse(ResponseEntity.noContent().build());
//    }

    @GetMapping("/record-template")  // 只用item_en搜索
    public ResponseEntity<String> getTemplate(@RequestParam("itemKey") String itemKey) {
        return repo.findFirstByItemEn(itemKey)
                .map(tt -> tt.getRecordTemplate() == null ? "" : tt.getRecordTemplate().trim())
                .filter(org.springframework.util.StringUtils::hasText)
                .map(ResponseEntity::ok)                // 200 + 模板
                .orElse(ResponseEntity.noContent().build()); // 204：没配置
    }
}
